package com.boot.study.jianfan.domain;

import com.boot.study.jianfan.VisitData;

import java.util.ArrayList;
import java.util.List;

/**
 * @author lkz
 * @className DataInit
 * @description
 * @date 2024/3/4 15:25
 **/
public class DataInit {


    /**
     * 创建访视期
     * @return
     */
    public List<VisitData> initVisitList(){
        List<VisitData> visitDataList=new ArrayList<>();

        visitDataList.add(this.selectVisitData("筛选期"));
        visitDataList.add(this.selectVisitData("治疗结束"));
        int index = 3;
        for (VisitData visitVO : visitDataList) {
            for (FormData visitTableVO : visitVO.getFormDataList()) {
                visitTableVO.setIndex(String.valueOf(index++));

            }
        }

        return  visitDataList;
    }


    public VisitData selectVisitData(String visit){
        VisitData visitData = new VisitData();

        visitData.setVisitName(visit);
        // 表单集合

        visitData.setFormDataList(this.initForm());

        return visitData;
    }

    public List<FormData> initForm(){
        List<FormData> formDataList=new ArrayList<>();
        for(int i=1;i<=5;i++){
            FormData formData = new FormData();
            formData.setFormName("表名"+i);
            if(i==5){
                formData.setRemark("1");
            }
            List<FormDataValue> formDataValues=new ArrayList<>();
            for(int v=1;v<=7;v++){
                FormDataValue dataValue = new FormDataValue();
                dataValue.setFormKey("主表key"+v);
                dataValue.setForValue("主表对应value:"+v+i);
                formDataValues.add(dataValue);

            }
            if(i==4){
                for(int v=1;v<=7;v++){
                    FormDataValue dataValue = new FormDataValue();
                    dataValue.setFormKey("主表key"+v);
                    if(v==3){
                        dataValue.setForValue("主表对应value:"+"○血常规 ○血生化 ○心肌酶谱 ○尿常规 ○24h尿蛋白定量 ○大便常规 ○血常规 ○血生化 ○心肌酶谱 ○尿常规 ○24h尿蛋白定量 ○大便常规" +
                                "○血常规 ○血生化 ○心肌酶谱 ○尿常规 ○24h尿蛋白定量 ○大便常规 ○血常规 ○血生化 ○心肌酶谱 ○尿常规 ○24h尿蛋白定量 ○大便常规 " +
                                "○河北省 ○山西省 ○辽宁省 ○吉林省 ○黑龙江省 ○江\n" +
                                "苏省 ○浙江省 ○安徽省 ○福建省 ○江西省 ○山东省 ○\n" +
                                "河南省 ○湖北省 ○湖南省 ○广东省 ○海南省 ○四川省\n" +
                                "○贵州省 ○云南省 ○陕西省 ○甘肃省 ○青海省 ○台湾\n" +
                                "省 ○内蒙古自治区 ○广西壮族自治区 ○西藏自治区 ○宁\n" +
                                "夏回族自治区 ○新疆维吾尔自治区 ○北京市 ○天津市 ○\n" +
                                "上海市 ○重庆市 ○香港特别行政区 ○澳门特别行政区");
                    }else{
                        dataValue.setForValue("主表对应value:"+v+i);
                    }

                    formDataValues.add(dataValue);

                }
            }else{
                for(int v=1;v<=7;v++){
                    FormDataValue dataValue = new FormDataValue();
                    dataValue.setFormKey("主表key"+v);
                    dataValue.setForValue("主表对应value:"+v+i);
                    formDataValues.add(dataValue);

                }
            }
            formData.setDataVelueList(formDataValues);
            if(i==3){
                List<FormDataValue> formDataValuesChild=new ArrayList<>();
                for(int v=1;v<=40;v++){
                    FormDataValue dataValue = new FormDataValue();
                    dataValue.setChildFormName(formData.getFormName()+"-子表名称y");
                    dataValue.setFormKey(formData.getFormName()+"-子表key"+v);
                    dataValue.setForValue(formData.getFormName()+"-子表对应value:"+v+i);
                    formDataValuesChild.add(dataValue);
                }
                formData.setChildDataList(formDataValuesChild);
            }

            formDataList.add(formData);

        }



          return formDataList;
    }






}
